c语言编程时“|”和“||”

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:53:58
if(ab%2&&cd%2&&ab>=10&&cd>=10&&(ab%5==0||cd%5==0))
写成了if(ab%2&&cd%2&&ab>=10&&cd>=10&&ab%5==0|cd%5==0)
结果差多少????
你们两个都回答的很好,很感谢你们,可我只能选择一个最佳答案,这样吧,lkjhggv你去我另一个提问随便回答一下,我采纳你。这样你们两个都可以被我采纳了http://zhidao.baidu.com/question/51119052.html尽快去吧

&&和||是逻辑与,逻辑或
&和|是按位与,按位或
按位或比逻辑与的优先级高,所以你的答案是
if(ab%2&&cd%2&&ab>=10&&cd>=10&&(ab%5==0|cd%5==0))
而ab%5==0和cd%5==0的逻辑值都是1或0,因此结果应该和正确答案一样
按位或举例(意思就是每位都逻辑或)
11001010
10010101
----------
11011111

我知道了,你这是计算机等级考试
虽然你写错了,不过结果还是一样的
|是按位或,具体内容你可以去搜。
---------------------------
其实你只要简单测试一下就行了,用以下代码:
#include<stdio.h>
main()
{
int ab=15;
int cd=23;
if(ab%2&&cd%2&&ab>=10&&cd>=10&&ab%5==0|cd%5==0) printf("YES");

}

通过改变ab,cd的值,你可以看到|在这里同样可以起到||的作用,你也可以自已调试一下。完全可以放心。

祝你好运!